#include "motor.h"

static void set_FI_val(uint16_t data)
{
	DL_TimerG_setCaptureCompareValue(PWM_MOTOR_INST,data,GPIO_PWM_MOTOR_C1_IDX);
}

static void set_BI_val(uint16_t data)
{
	DL_TimerG_setCaptureCompareValue(PWM_MOTOR_INST,data,GPIO_PWM_MOTOR_C0_IDX);
}

static void pwm_value_limit(uint16_t* val)
{
	if(*val > PWM_MAX_VALUE)
	{
		*val = PWM_MAX_VALUE;
	}
}

void motor_set_speed(uint16_t FI_val,uint16_t BI_val)
{
	pwm_value_limit(&FI_val);
	pwm_value_limit(&BI_val);
	
	set_BI_val(BI_val);
	set_FI_val(FI_val);
}

void motor_set_stop(void)
{
	motor_set_speed(0,0);
}